package drds.binlog.client.adapter;

import drds.binlog.client.adapter.support.OuterAdapterConfiguration;
import drds.binlog.client.adapter.support.SPI;
import drds.binlog.protocol.Message;

/**
 * 外部适配器接口
 */
@SPI("logger")
public interface OuterAdapter
{

    /**
     * 外部适配器初始化接口
     *
     * @param configuration 外部适配器配置信息
     */
    void init(OuterAdapterConfiguration configuration);

    /**
     * 往适配器中写入数据
     *
     * @param message message数据包
     */
    void writeOut(Message message);

    /**
     * 外部适配器销毁接口
     */
    void destroy();
}
